package com.juejin.www.service;

import com.juejin.www.model.DTO.AuditDTO;
import com.juejin.www.model.DTO.PageDTO;
import com.juejin.www.model.DTO.UserDTO;
import com.juejin.www.model.VO.AuditVO;

/**
 * @author Jacky
 */
public interface AdminService {

    /**
     * 获取审核列表
     * @param currentPage 当前页码
     * @param pageSize 每页展示数目
     * @param isAudited 是否审核
     * @return 审核列表
     */
    PageDTO<AuditVO> getAudits(Integer currentPage,Integer pageSize,Integer isAudited);

    /**
     * 获取未审核数
     * @return 未审核数
     */
    Integer getIsNotAuditedCount();

    /**
     * 审核
     * @param auditDTO 审核实体
     */
    void audit(AuditDTO auditDTO);

    /**
     * 封禁用户
     * @param id 用户id
     */
    void lockUser(Integer id);

    /**
     * 解封用户
     * @param id 用户id
     */
    void unlockUser(Integer id);

    /**
     * 超级管理员添加管理员
     * @param userDTO 用户实体
     * @return 是否添加成功
     */
    boolean addAdmin(UserDTO userDTO);
}
